Introducing CIM: The Future of Information Automation

Composable Information Machine by Cowboy AI

The Vision Behind CIM

Cowboy AI Logo

*Cowboy AI streamlines information integration and management.*

*** CAUTION ***

This repository is HIGHLY unstable and incomplete.

Version: 0.7.0

Please don't let this discourage you. This repository is rapidly changing, we are just issuing a word of caution that you may not want to use this in a production system without a great deal of testing and validation.

We have issued this repository in it's current state intentionally to invite community submissions and involvement in the MIT Licensed version of CIM.

There is a great deal of proven mathematics and computer science involved in this architecture and it is a challenging set of rabit-holes for you to explore. This is a very deep and philosophical model that truly takes a while to totally comprehend.

The difference out-of-the-box here is not a revolution in how we setup computers or infrastructure, but rather how what we wish to accomplish with these devices can be constructed in a reliable, repeatable, evolutionary way.

Information Systems by their very nature should be able to immediately tell you about themselves... Try that on any "command line interface" and you will find it quite challenging without already "knowing" where things are. Sorry, `manpages` are not intuitive at all.

A New Way to See

spreadsheet

*Most of us are familiar with a spreadsheet.*

THis is a paper paradigm... Why are we still using paper paradigms on digital screens? Forms, Really??? How 19th Century.

Cowboy AI moves beyond this notion to focus on state machines and relationships.

digraph MealyStateMachine { rankdir=LR; node [shape = circle]; // Define states Waiting [label="Waiting"]; Executing [label="Executing"]; Finished [label="Finished"]; // Transitions with events as edges Waiting -> Executing [label="Cmd: Execute / Evt: Started"]; Executing -> Finished [label="Cmd: Complete / Evt: Completed"]; // Optional: style for starting state node [shape = plaintext]; start [label=""]; start -> Waiting; // Style for end state Finished [shape = doublecircle]; }

Moving things around

Information should be portable, accessible and flexible. Storing information shouldn't require my personal, proper allocation into a library system complete with personal "tagging" to hopefully add sematics to my ability to find things. That is where "information systems" differ from "computer systems".

Computer systems are now commodity systems we can obtain and use with off-the-shelf components.

Information systems on the other hand, will always be tied directly to one or more Domains. They are concerned with how what information "is" and how it is related and sequenced rather than where it is and how we compute it.

Scalability and Simplicity

graph LR A("A") -- "transforms_into" --> B("B")

--- OR ---

graph LR A("A") -- "relates_to" --> B("B")

This is the entire idea.

It absolutely does not matter what A or B are, we just want to know they are related. Many relationships will appear and they will become overwhelming quickly.

We have a very clean solution to this with graphs.

graph LR A("Configuration") -- "transforms_into" --> B("Compute Device") -- "resource_of" --> C("Domain")

A Diverse Ecosystem Within Nodes

CIM Example CIM represented as a microservice

While this is not the typical architecture, it shows a representation most people who have seen some type of microservice can comprehend.

The Core of CIM: Dynamic Data Interaction

CIM Architecture

CIM Default Architecture

The CIM Default architecture is a starting point to develop a Domain that will have it's own Ecosystem and Language.

Language is developed through relationships and vector transformations as events occur. New concepts become immediately accessible for review and testing in the domain.

Simplicity Amidst Complexity

Understanding and leveraging data through straightforward yet powerful interactions.

See worflows in straight-forward businss terms.

Semantic Processing: Bringing Meaning to Data

graph LR Me(Me) -->|command/query| UOI(The Universe of Information)

Clarifying the flow of information for intuitive system navigation.


Integrating Technologies with CIM

Making advanced technologies approachable and useful for everyone.

CIM's Foundational Concepts


Get Started with CIM

git clone https://github.com/thecowboyai/cim-start

Expanded CIM Structure

CIM Language Structure

Contributions

Code Contributions will be accepted through Pull Requests. We don't have a guide up yet, but it is forthcoming.

Copyright 2024 Cowboy AI, LLC MIT License